package dal

import (
	"time"
)

type User struct {
	ID        int64     `json:"id"`
	Username  string    `json:"username"`
	Nickname  string    `json:"nickname"`
	Password  string    `json:"password"`
	Email     string    `json:"email"`
	Role      string    `json:"role"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

func (User) TableName() string {
	return "user"
}

type CustomOrder struct {
	ID                  int64      `json:"id"`
	UserID              int64      `json:"user_id"`
	DispatchUserID      int64      `json:"dispatch_user_id"`      // 派单客服id
	DispatchComment     string     `json:"dispatch_comment"`      // 派单备注
	DispatchUserComment string     `json:"dispatch_user_comment"` // 派单用户自己的备注
	ProductName         string     `json:"product_name"`
	Country             string     `json:"country"`
	Price               float32    `json:"price"`
	CostPrice           float32    `json:"cost_price"`     // 成本价
	CustomerCount       int64      `json:"customer_count"` // 客户下单量
	CompleteCount       int64      `json:"complete_count"` // 实际完成量，可能会有赠送，和实际结算量不一样
	Count               int64      `json:"count"`          // 实际结算量
	CustomerName        string     `json:"customer_name"`
	PayType             string     `json:"pay_type"`  // 收款类型 usdt/支付宝/微信
	PayValue            float32    `json:"pay_value"` // 收款金额
	PayTime             *time.Time `json:"pay_time"`
	ReturnType          string     `json:"return_type"`  // 反点类型 usdt/支付宝/微信
	ReturnValue         float32    `json:"return_value"` // 反点金额
	ReturnTime          *time.Time `json:"return_time"`
	RefundType          string     `json:"refund_type"`  // 退款类型
	RefundValue         float32    `json:"refund_value"` // 退款金额
	RefundTime          *time.Time `json:"refund_time"`
	FinalType           string     `json:"final_type"`  // 尾款类型
	FinalValue          float32    `json:"final_value"` // 尾款金额
	FinalTime           *time.Time `json:"final_time"`
	Comment             string     `json:"comment"`            // 备注
	UsdtExchangeRate    float32    `json:"usdt_exchange_rate"` // usdt汇率
	OrderCreateTime     time.Time  `json:"order_create_time"`
	CreatedAt           time.Time  `json:"created_at"`
	UpdatedAt           time.Time  `json:"updated_at"`
}

func (CustomOrder) TableName() string {
	return "customer_order"
}

type Country struct {
	ID         int64   `json:"id"`
	Name       string  `json:"name"`
	Code       string  `json:"code"`
	Comment    string  `json:"comment"`
	LimitPrice int64   `json:"limit_price"` // 最低接单价
	CostPrice  float32 `json:"cost_price"`  // 成本价
}

func (Country) TableName() string {
	return "country"
}
